Identifying Partial User-Entered Data

ABSTRACT

There are methods and apparatus, including computer program products, for service improvement techniques for a transportation service provider using mobile devices. In one aspect there is received user-entered data for at least one field present in a provided electronic form. The form includes a link that, when activated, establishes a voice channel between the passenger and a customer representative and provides a unique identifier associated with the user-entered data that enables a customer representative to retrieve the user-entered data. In another aspect, there is a graphical representation that is transmitted to a customer or a driver to facilitate execution of a reservation of a transportation service to be provided to the customer by the driver. In another aspect, there is a location range received from a wireless handheld device associated with a driver and data received from the driver indicative of a more accurate location within the location range.

CLAIM OF PRIORITY

This application is a continuation of and claims priority under 35U.S.C. §120 to U.S. application Ser. No. 10/811,263, which was filedMar. 26, 2004, the entire contents of which are hereby referenced below.

BACKGROUND

The description relates to identifying partial user-entered data.

Taxi services use fare meters and wait for a rider at a taxi stand orpick-up a rider who has flagged them when the taxi is not carrying arider. Private transportation providers prearrange to pick-up riders atpredefined locations (e.g., pick-up locations) and to transport theriders to predefined locations (e.g., drop-off locations). To identifythemselves to the riders, the drivers typically hold signs bearing theriders' last names. Private transportation providers work well whenthere are no deviations from the prearranged plans.

SUMMARY OF THE INVENTION

In one aspect, there is a method that includes receiving user-entereddata for at least one field present in a provided electronic form andproviding a link that, when activated, establishes a voice channelbetween the passenger and a customer representative and provides aunique identifier associated with the user-entered data that enables acustomer representative to retrieve the user-entered data.

Additional examples can include any combination of one or more of thefollowing features. Retrieving, by a computing device associated withthe customer representative, the user-entered data based on the uniqueidentifier. Authenticating a user before providing the electronic form.Providing the electronic form for display on a wireless handheld device.Receiving user-entered data corresponding to a pick-up location, adrop-off location, a date service is required, and a time service isrequired. The unique identifier can include an extension of a phonenumber. The electronic form can be for making a reservation with atransportation service provider. The reservation can be associated withreserving a vehicle and a driver.

In another aspect there is a system that includes a first computingdevice. The first computing device is adapted to display an electronicform, receive user-entered data for at least one field present in theelectronic form, and display a link that, when activated, calls acustomer representative and provides a unique identifier associated withthe user-entered data that enables a second computing device to retrievethe user-entered data based on the unique identifier.

Additional examples can include any combination of one or more of thefollowing features. A second computing device adapted to receive theunique identifier, and to retrieve the user-entered data based on theunique identifier. The first computing device can include a wirelesshandheld device. The unique identifier can include identification of avoice channel so that the voice channel cannot be accessed by aunauthorized person. The first computing device can have a capability toaccept input via voice activated commands. The computing devices can beadapted to perform any combination of the methods described herein.

In another aspect, there is a computer program product, tangiblyembodied in an information carrier. The computer program productincludes instructions operable to cause data processing apparatus toprovide an electronic form, receive user-entered data for at least onefield present in the electronic form and provide a link that, whenactivated, establishes a voice channel between the passenger and acustomer representative and provides a unique identifier associated withthe user-entered data that enables a customer representative to retrievethe user-entered data.

Additional examples can include any combination of one or more of thefollowing features. The instructions can be further operable to causethe data processing apparatus to enable the customer servicerepresentative to entering additional information not included in theuser-entered data to make a reservation to enable dispatching a car andbilling the passenger accordingly. The instructions can be furtheroperable to cause the data processing apparatus to retrieve, by acomputing device associated with the customer representative, theuser-entered data based on the unique identifier. The instructions canbe further operable to cause the data processing apparatus toauthenticate a user before providing the electronic form. Theinstructions can be further operable to cause the data processingapparatus to provide the electronic form for display on a wirelesshandheld device. The unique identifier can include an extension of aphone number. The electronic form can be for making a reservation with atransportation service provider. The computer program product caninclude instructions operable to cause data processing apparatus toperform any combination of the methods described herein.

In another aspect, there is a method that includes transmitting to acustomer or a driver a graphical representation to facilitate executionof a reservation of a transportation service to be provided to thecustomer by the driver.

Additional examples can include any combination of one or more of thefollowing features. Selecting a reservation associated with thecustomer. Associating the driver with the reservation. Transmitting thegraphical representation in response to a time associated with thereservation. Transmitting the graphical representation to a wirelesshandheld device. The graphical representation can include a photographof the driver associated with the reservation. The graphicalrepresentation can include a photograph of the customer associated withthe reservation. The graphical representation can include a photographof a vehicle, including the license plate, associated with thereservation. The graphical representation can include a map associatedwith the reservation. The map can include a pick-up location associatedwith the reservation. The pick-up location can include a location in anairport. The map can include directions from a location associated withthe customer to a location associated with the driver. The graphicalrepresentation can include a text message from the customer. Thegraphical representation can include a text message from the driver.

In another aspect, there is a system that includes a computing device.The computing device is adapted to select a reservation with anassociated customer and an associated driver and transmit a graphicalrepresentation to the associated customer or the associated driver.

Additional examples can include any combination of one or more of thefollowing features. The system can include a data communication channelthrough the computing device, the data communication channel linking afirst wireless handheld device associated with the customer and a secondwireless handheld device associated with the driver. The system caninclude a data communication channel through the computing device, thedata communication channel linking a first wireless handheld deviceassociated with the customer and a second wireless handheld deviceassociated with the driver. The computing device can be adapted toperform any combination of the methods described herein.

In another aspect, there is a computer program product, tangiblyembodied in an information carrier. The computer program productincludes instructions operable to cause data processing apparatus totransmit to a customer or a driver a graphical representation tofacilitate execution of a reservation of a transportation service to beprovided to the customer by the driver

Additional examples can include any combination of one or more of thefollowing features. The instructions can be further operable to causethe data processing apparatus to select a reservation associated withthe customer and to associate the driver with the reservation. Theinstructions can be further operable to cause the data processingapparatus to confirm that the driver and the customer do not require anyadditional information to facilitate execution of the reservation. Theinstructions can be further operable to cause the data processingapparatus to cause a customer service representative to contact thepassenger and assist the passenger with execution of a reservation. Thecomputer program product can include instructions operable to cause dataprocessing apparatus to perform any combination of the methods describedherein.

In another aspect, there is a method including receiving a locationrange from a wireless handheld device associated with a driver andreceiving data from the driver indicative of a more accurate locationwithin the location range.

Additional examples can include any combination of one or more of thefollowing features. Displaying entries on the wireless handheld devicebased on the location range. Generating the data based on interaction ofthe driver with the displayed entries. The entries can include streetnames within the location range. The entries can include street namesthe determination of which are based on an accuracy of locationdetection mechanism within the wireless handheld device. The interactionof the driver can be performed with a single keystroke.

Selecting a reservation associated with the driver. Modifying a fareassociated with the reservation based on the accurate location. Printinga receipt with the modified fare in a vehicle associated with thedriver. Determining the location range using a Global Positioning System(GPS), the location range being limited by an accuracy of the GPS.Generating the data by generating a list of landmarks or street namesfalling within the location range and eliminating entries from the listbased on interaction by the driver. Eliminating entries from the listbased on a single keystroke by the driver.

In another aspect, there is a system that includes a computing device.The computing device is adapted to receive a location range from awireless handheld device associated

with a driver and receive data from the driver indicative of a moreaccurate location within the location range.

Additional examples can include any combination of one or more of thefollowing features. The computing device can be adapted to generate alist of landmarks or street names within the location range. Thecomputing device can be adapted to perform any combination of themethods described herein.

In another aspect, there is a computer program product, tangiblyembodied in an information carrier. The computer program productincludes instructions operable to cause data processing apparatus toreceive a location range from a wireless handheld device associated witha driver and receive data from the driver indicative of a more accuratelocation within the location range.

Additional examples can include any combination of one or more of thefollowing features. The instructions can be further operable to causethe data processing apparatus to display entries on the wirelesshandheld device based on the location range and generate the data basedon interaction of the driver with the displayed entries. The entries caninclude street names within the location range. The entries can includestreet names the determination of which are based on an accuracy oflocation detection mechanism within the wireless handheld device. Theinteraction of the driver can be performed with a single keystroke. Theinstructions can be further operable to cause the data processingapparatus to select a reservation associated with the driver. Theinstructions can be further operable to cause the data processingapparatus to modifying a fare associated with the reservation based onthe accurate location. The instructions can be further operable to causethe data processing apparatus to print a receipt with the modified farein a vehicle associated with the driver. The computer program productcan include instructions operable to cause data processing apparatus toperform any combination of the methods described herein.

Implementations can realize one or more of the following advantages.When a customer contacts a customer representative, she does not have tobe re-authenticated. Nor does the customer have to repeat to thecustomer representative information she has already entered. Nor doesthe customer service representative have to make an effort to look upthe customer data that was entered by the customer before the customerrepresentative was contacted. A customer and driver can verify eachother and the vehicle using photographs received independently from theservice provider. A customized map can be provided to the customer at atime when the customer needs the map. A driver can easily enter changesin location using very limited amount of keystrokes, making the entrysimple, even if only a numeric keyboard on a mobile phone is used toenter data. These features can be provided to a wireless handhelddevice, that the customer and driver typically carry on a daily basis.Deviations from a prearranged plan can be accommodated and changed, in areal-time manner to improve customer satisfaction and increase vehicleutilization by rearranging cars and upcoming rides. One implementationprovides all of the above advantages.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Further features, aspects, andadvantages of the invention will become apparent from the description,the drawings, and the claims.

DESCRIPTION

FIG. 1 is a block diagram of a communications system.

FIG. 2 is a block diagram of a wireless handheld device.

In FIG. 1, within a communications system 100, a server 105 includes adispatcher application program 110. The dispatcher application program110 (dispatcher for short) is used by a transportation service providerto match a rider's reservation for transportation services with anavailable car and driver. As described in more detail below, a customermay make a reservation, for example, to be picked up at an airport whenthe customer's flight arrives. The dispatcher 110 finds a car and driveravailable at the time when the flight arrives and provides instructionsto that driver, either electronically or through a human interface, tobe at the airport when the flight arrives. Both the reservation andinstructions to the driver also identify a destination to which thedriver will take the customer.

The dispatcher 110 obtains information about reservations, drivers, andcustomers from a persistent storage module 115, such as a database, withwhich the server 105 is in communication. The server 105 is also incommunication with a communications network 120, such as the Internet.Using the network 120, the dispatcher 110 can obtain information fromanother system 125 also connected to the network 120, such as flightinformation from an airport or an airline. Using this third-partyinformation, the dispatcher 110 can obtain not only the date and time ofthe flight, which the customer typically includes in the reservation,but also the gate number and the status of the flight, such as on-timeor delayed for a specified period of time. As described in more detailbelow, this information can be used to arrange for the driver and car tobe at a waiting location at the airport and to determine a route inreal-time (e.g., as the customer exits the plane) to get the customerthrough the airport to the location of the assigned car and driver. Ifthe conditions of the customer pick up change due to changes in thecustomer plans, such as flight delays, changes to the assigned flightarrival terminals, etc., then this change can be automaticallydispatched to the driver so the driver can accommodate new customerneeds. The above change can be automatically alerted to the customer'swireless device or any other means of getting in contact with thecustomer, so the customer is aware that the service company hasaccommodated the customer's changed needs.

The network 120 is also in communication with another communicationsnetwork 130. The network 130 includes a telecommunications network,which can include for example a public switched telephone network (PSTN)135, as well as base stations and/or wireless access points 140 a and140 b. The customer uses a wireless handheld device 145 a (e.g., aBlackBerry 6510™ wireless handheld) to communicate with the dispatcher110 (e.g., receive and transmit data and voice) using networks 120 and130. The driver also uses a wireless handheld device 145 b (e.g., amobile telephone) to communicate with the dispatcher 110 using networks120 and 130.

Dispatcher 110 allows the customer to enter a transportation reservationusing wireless the handheld device 145 a by requesting a reservationform. To request a reservation form, the customer makes contact withserver 105 and server 105 requires that the customer go through anauthentication process (e.g., entering user credentials such as a userID and a password). Once the user is authenticated, the server 105passes the authenticated identity of the customer to dispatcher 110,along with the request for a reservation form. Dispatcher 110 can obtainpersonal data associated with the identified customer, such as name andpreferences, from the database in the storage module 115. Using anyapplicable personal data, dispatcher 110 transmits a reservation form(or a portion thereof) to the wireless handheld device 145 a of thecustomer. The choice of what items to include and what information torequest on the form may be based in part on the personal data.

FIG. 2 shows an example screenshot of a portion of the reservation formon a display 200. The display includes a top portion 205 that displaysthe name of the customer, using the personal data obtained from theauthentication process. The center portion 210 of the display 200includes a portion of the reservation form, with a user input section215, at which the cursor is located. The portion shown requires thecustomer to enter a date on which the customer wants to be picked up.How many user input sections of the reservation form are shown at onetime is a function of the screen size of the wireless handheld device145 a. In the illustrated example, the user can enter a date in the userinput section 215 or the reservation form includes a link 220 to acalendar entry screen, which displays a graphic of a calendar whenactivated. The graphic of a calendar allows the user to move the cursorto and click on the day in the calendar on which the customer wants tobe picked up. When the customer has entered a date, that data istransmitted to server 105 and stored in storage module 115. Someexamples of typical data to make a reservation are a pick-up location, adrop-off location, a pick-up time, special requests, such as a childseat requirement or an authorization to the driver to wait for thecustomer, billing information (e.g., credit card number or a corporateaccount number), flight information (e.g., if pick-up or drop-offlocation is an airport), information about additional passengers, andinformation on the stops to made to pick up or drop off additionalpassengers.

Also displayed on screen 200 is a link 225, labeled “Contact Us”, thatcontacts a service representative when activated. This link 225 isavailable to the customer on each screen of the reservation form, shouldthe customer encounter any problems or just decide that she no longerwants to enter the form using her handheld device 145 a. When thecustomer activates the link 225, the handheld device 145 a calls acustomer service representative using network 130. To accomplish thistask, the link 225 has an associated phone number that is dialed by thehandheld device 145 a.

In addition to the phone number, the link 225 has an associatedidentifier (ID). This ID corresponds to the stored data of theparticular reservation form being filled out by the customer, which, inthe illustrated example, is Ms. Jones. This ID enables the customerservice representative to obtain all of the user-entered data that Ms.Jones has already entered into the current reservation form. In otherwords, by using this ID, the data already entered by Ms. Jones andstored in storage module 115 can be identified and retrieved. Byenabling the customer service representative to obtain all of theuser-entered data, Ms. Jones does not have to repeat any of thatinformation. This advantageously creates a seamless transition fromcustomer entered data to service representative entered data to completethe reservation form and leads to less frustration by the customer inattempting to enter a reservation herself.

An example of the information to be displayed to the customer servicerepresentative is displayed in Table 1.

TABLE 1 Reservation for Ms. Jane Smith. ID #1234512345 Pick up locationModify Drop off location Modify Pick-up Date: Monday, Apr 05, 2004Airport: Not specified Pick-up Time: 03:30 PM Airline: Not SpecifiedAddress: 245 Some St. Flight #: Not Specified City: Some TownState/Province: Some State Country: USA Passengers Modify PaymentInformation Modify Passenger Name: Ms. Jane Smith Card Type: VISAContact Number: (123) 123-1234 Card Number: ***************11111 # ofPassengers: 1 Card Exp Date: 6/2005 Card Holder Name: Jane Smith SpecialRequirements Modify Child Seat Not Specified Authorized wait: NotSpecified

The example of the data in Table 1 has several pieces of informationwith a “Not Specified” value. This value indicates that this data is tobe filled in by the service representative based on the conversationbetween the representative and the customer. In other words, the userdid not yet enter that data.

One way to provide the ID to the service representative is to add aunique extension to the phone number. For example, the number (xxx)xxx-8000 may be used to reach the phone system of the customer serviceorganization. The phone system can have all extensions numbered from8000 to 8999. This provides 1000 unique IDs at any given time. When theuser initiates a request, an ID is assigned from among the 1000available IDs and stored in the server. The phone number embedded in thelink sent to the handheld device contains the ID. Then, when thehandheld device dials an extension, say (xxx) xxx-8345, the call isrouted by the phone system to the next available customer servicerepresentative. The extension that was called, namely 8345, is alsotransmitted to the customer service representative. The customer servicerepresentative also has access to server 105 (e.g., using network 120).The customer service representative sends a request to server 105 forthe user-entered data associated with that extension. The request can bemade automatically (e.g., the customer service representative's computersends a request to server 105 as soon as the call is received and theextension is identified).

Other IDs may be used, depending on the type and capabilities of thehandheld device. For example, a unique ID of the handheld device 145 acan be the phone number of the handheld device 145 a calling thecustomer service representative. In this example, the phone number isalso provided to the dispatcher 110 so that the dispatcher 110 canassociate the user-entered data stored in storage module 115 with thephone number of the customer's handheld device 145 a. Then, the customerservice representative (or his computer) provides the customer's phonenumber to the server 105 for retrieval of the associated stored data (orthe request is made automatically).

Once a reservation is complete (e.g., enough information to dispatch acar, such as pick-up point, drop-off point, pick-up time, specialrequests for a car equipment and the billing information) is enteredinto the database located in storage module 115, then the dispatcher 110matches that reservation to an available driver (e.g., a driver who isworking the day of the reservation, does not have any assignment at therequested pick-up time, and can get to the pick-up location in time fromthe drop-off location of the driver's immediately preceding assignment)and an available vehicle (e.g., a vehicle that is not being serviced atthe particular day and time of the reservation). At some predeterminedtime before the required pick-up time, the dispatcher 110 separatelynotifies the customer and the driver of the match. At a minimum, thedriver has to be notified of the identity of the customer and thepick-up location to provide enough time for the driver to arrive at thepick-up location by the required pick-up time. Similarly, the customerhas to be notified of the identity of the driver and location of thevehicle to provide enough time for the customer to arrive at the pick-uplocation by the required pick-up time. To calculate the minimumlead-time needed, the dispatcher 110 obtains distance informationbetween points (e.g., distance between driver's preceding drop-offlocation and next pick-up location and distance between customer'sarrival gate and the pick-up location) from storage module 115 or fromother third-party systems 125 using network 120. Also, in the case wherethe customer is being picked up at an airport, the dispatcher 110obtains flight information about the arrival gate and the status of theflight.

The dispatcher 110 can make last minute changes to the match since thedispatcher 110 does not need to notify the driver or the customer untilthe minimum lead-time is reached. If a flight is going to be delayed fora long period of time, the dispatcher 110 can divert the driver toanother customer and thus avoid costs if the driver had to wait arounduntil the flight arrived.

To notify the driver and the customer of a match or a revised match, thedispatcher 110 sends appropriate graphical representations to the driverand the customer. The graphical representations may include maps orphotographs or both, and other information. The dispatcher 110 obtainsthe graphical representations from the storage module 115. Thedispatcher 110 pushes the graphical representations to the handhelddevices 145 a and 145 b in the same way that new emails, text messages,and/or phone calls are pushed to the handheld devices 145 a and 145 b.

Taking the customer first, the dispatcher 110 can send a map to thecustomer's handheld device 145 a that shows directions to get from thearrival gate to the vehicle and the driver waiting for the customer.This is especially useful when the customer is not familiar with theairport at which she arrives. Further, the dispatcher 110 can obtainfrom the other system 125 information such as the baggage carousel towhich the customer's baggage will be sent. Then the dispatcher 110 caninclude in the map directions from the gate to the correct baggagecarousel and directions from the baggage carousel to the vehicle anddriver. The dispatcher 110 also transmits a photograph of the assigneddriver to the customer's handheld device 145 a. This way, the client issure that she is going with the correct and legitimate driver. As afurther verification, the dispatcher 110 also may send one or morephotographs of the vehicle, which can include a shot of the licenseplate, again so the customer has peace of mind that she is going withthe correct driver. Once a driver is matched with a passenger, thepassenger can send a message to the driver, for example notifying thedriver that the passenger will be 20 minutes late from the gate as aresult of unplanned conversation that the passenger got engaged intowith his prospective client. The communication between the driver andthe passenger can happen through the dispatcher 110, thus preservingservice company confidential information, such as the driver phonenumber.

Similarly, the dispatcher 110 transmits a photograph of the customer tothe handheld device 145 b of the driver. This way, the driver can besure that he is picking up the correct customer. The dispatcher 110 canalso transmit a map of the pick-up location to the driver so that thedriver knows where to pick-up the customer. If, for example, thedriver's handheld device 145 b cannot display a picture of a map, then arepresentation in text can be provided. By providing maps to both thedriver and the customer, the dispatcher 110 ensures that both the driverand the customer have the same identical pick-up location. Shouldproblems arise, such as a delay in baggage pick-up causing the driver tohave to move his vehicle, the dispatcher 110 can provide new locationsin real-time to ensure the eventual encounter of the driver and thecustomer. In particular the dispatcher 110 can send an alert to thecustomer on encounter of plane arrival delay to let that customer knowthat the car is waiting for the customer. If the delay is long enoughfor the driver to complete another assignment, the new assignment can besent to the driver. The dispatcher 110 can also send alerts to thecustomer notifying the customer that the driver is 5 minutes away fromthe pick-up point, at the pick-up point, and the exact location of thepick-up point (e.g., front office building entrance, parking lot behindthe office building, etc.).

If the driver moves the vehicle to a new pick-up location (e.g., wasparked longer than the maximum standing time), the driver notifies thedispatcher 110 of the new location. To determine the new location, thevehicle and/or the handheld device 145 b is equipped with a locationdetermining device, such as a global positioning system (GPS), that candetermine a location to within a certain range of accuracy. For example,a GPS can determine a location to within a 300-foot radius. To provide amore exact location to the customer, the dispatcher 110 transmits one ormore display screens, as described below, to the driver's handhelddevice 145 b to determine a more accurate location, for example, withina 10-foot radius.

To generate the display screens, the dispatcher 110 determines whichstreets are within the location range (e.g., the streets within the300-foot radius). The dispatcher 110 generates a screen that enables asimple input by the driver to determine the accurate location. Forexample, if handheld device 145 b is a mobile telephone, then dispatcher110 generates a list of streets, with each street corresponding to adifferent number. The driver then selects the number, using the phonekeypad, that corresponds to the street on which the vehicle is located.If the vehicle is located at a specific address, then the next displayscreen can simply ask the driver to input the number of the address atwhich the vehicle is located. If the street has portions that do nothave addresses, then a list of landmarks can be presented to the driver,again with a number corresponding to each of the landmarks. The driverenters the number and then the dispatcher 110 can provide an updated mapto the handheld device 145 a of the customer providing directions to thelandmark at which the vehicle is located.

These same techniques of determining an accurate location can be usedwhen the customer requests that the driver deviate from the reservationdrop-off location. For example, in the late flight scenario, thecustomer may want to go directly to the office, instead of going to herhotel first. This change in drop-off location can change the fare thecustomer is charged for the car and driver. Further, the customer mayrequire an immediate receipt with the revised fare. In one example, thedriver drives the customer to the new drop-off location. The GPSdetermines the location range and then the driver enters some input todetermine an accurate location, using for example themenu-with-corresponding-numbers approach as described above. When thedispatcher 110 determines the accurate location (e.g., a specificaddress with street and number), the dispatcher 110 determines a newfare and transmits the new fare to the handheld device 145 b. If animmediate receipt is needed, the handheld device 145 b can be connectedto a portable printer and then, with the new fare stored in the handhelddevice 145 b, the driver can print out a receipt. Alternatively, theprinter itself can be a wireless handheld device that receives the valuefor the new fare and directions to print a receipt directly from thedispatcher 110 over the networks 120 and 130.

The above-described techniques can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. The implementation can be as a computer programproduct, i.e., a computer program tangibly embodied in an informationcarrier, e.g., in a machine-readable storage device or in a propagatedsignal, for execution by, or to control the operation of, dataprocessing apparatus, e.g., a programmable processor, a computer, ormultiple computers. A computer program can be written in any form ofprogramming language, including compiled or interpreted languages, andit can be deployed in any form, including as a stand-alone program or asa module, component, subroutine, or other unit suitable for use in acomputing environment. A computer program can be deployed to be executedon one computer or on multiple computers at one site or distributedacross multiple sites and interconnected by a communication network.

Method steps can be performed and apparatus can be implemented by one ormore programmable processors executing a computer program to performfunctions of the invention by operating on input data and generatingoutput. Method steps can also be performed by, and apparatus can beimplemented as, special purpose logic circuitry, e.g., an FPGA (fieldprogrammable gate array) or an ASIC (application-specific integratedcircuit). Modules can refer to portions of the computer program and/orthe processor/special purpose logic circuitry that implements thatfunctionality.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for executing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto-optical disks, or optical disks. Information carrierssuitable for embodying computer program instructions and data includeall forms of non-volatile memory, including by way of examplesemiconductor memory devices, e.g., EPROM, EEPROM, and flash memorydevices; magnetic disks, e.g., internal hard disks or removable disks;magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor andthe memory can be supplemented by, or incorporated in special purposelogic circuitry.

To provide for interaction with a user, the above described techniquescan be implemented on a computer or handheld device having a displaydevice, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display)monitor, for displaying information to the user and a keyboard and apointing device, e.g., a mouse or a trackball, by which the user canprovide input to the computer or handheld device (e.g., interact with auser interface element). Other kinds of devices can be used to providefor interaction with a user as well; for example, feedback provided tothe user can be any form of sensory feedback, e.g., visual feedback,auditory feedback, or tactile feedback; and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The above described techniques and processes (e.g., dispatcher 110) canbe implemented in a distributed computing system that includes aback-end component, e.g., as a data server, and/or a middlewarecomponent, e.g., an application server, and/or a front-end component,e.g., a client computer or handheld device having a graphical userinterface and/or a Web browser through which a user can interact with anexample implementation, or any combination of such back-end, middleware,or front-end components. The components of the system can beinterconnected by any form or medium of digital data communication,e.g., a communication network. Examples of communication networksinclude a local area network (“LAN”) and a wide area network (“WAN”),e.g., the Internet, and include both wired and wireless networks.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

The invention has been described in terms of particular embodiments.Other embodiments are within the scope of the following claims. Thealternative examples are for illustration only and not to limit thealternatives in any way. The steps of the invention can be performed ina different order and still achieve desirable results.

What is claimed is:
 1. A method comprising: providing an electronicform; receiving user-entered data for at least one field present in theelectronic form; and providing a link that, when activated, establishesa voice channel between the passenger and a customer representative andprovides a unique identifier associated with the user-entered data thatenables a customer representative to retrieve the user-entered data. 2.The method of claim 1 comprising retrieving, by a computing deviceassociated with the customer representative, the user-entered data basedon the unique identifier.
 3. The method of claim 1 comprisingauthenticating a user before providing the electronic form.
 4. Themethod of claim 1 in which providing the electronic form comprisesproviding the electronic form for display on a wireless handheld device.5. The method of claim 1 in which the unique identifier comprises anextension of a phone number.
 6. The method of claim 1 in which theelectronic form is for making a reservation with a transportationservice provider.
 7. The method of claim 6 in which receivinguser-entered data comprises receiving user-entered data corresponding toa pick-up location, a drop-off location, a date service is required, anda time service is required.
 8. The method of claim 6 in which thereservation is associated with reserving a vehicle and a driver.
 9. Asystem comprising: a first computing device adapted to: display anelectronic form, receive user-entered data for at least one fieldpresent in the electronic form, and display a link that, when activated,calls a customer representative and provides a unique identifierassociated with the user-entered data that enables a second computingdevice to retrieve the user-entered data based on the unique identifier.10. The system of claim 9 comprising: a second computing device adaptedto: receive the unique identifier, and retrieve the user-entered databased on the unique identifier.
 11. The system of claim 9 in which thefirst computing device comprises a wireless handheld device.
 12. Thesystem of claim 9 in which the unique identifier comprisesidentification of a voice channel so that the voice channel cannot beaccessed by a unauthorized person.
 13. The system of claim 9 in whichthe first computing device has a capability to accept input via voiceactivated commands.
 14. A computer program product, tangibly embodied inan information carrier, the computer program product comprisinginstructions operable to cause data processing apparatus to: provide anelectronic form; receive user-entered data for at least one fieldpresent in the electronic form; and provide a link that, when activated,establishes a voice channel between the passenger and a customerrepresentative and provides a unique identifier associated with theuser-entered data that enables a customer representative to retrieve theuser-entered data.
 15. The computer program product of claim 14, whereinthe instructions are further operable to cause the data processingapparatus to enable the customer service representative to enteringadditional information not included in the user-entered data to make areservation to enable dispatching a car and billing the passengeraccordingly.
 16. The computer program product of claim 14, wherein theinstructions are further operable to cause the data processing apparatusto retrieve, by a computing device associated with the customerrepresentative, the user-entered data based on the unique identifier.17. The computer program product of claim 14, wherein the instructionsare further operable to cause the data processing apparatus toauthenticate a user before providing the electronic form.
 18. Thecomputer program product of claim 14, wherein the instructions arefurther operable to cause the data processing apparatus to provide theelectronic form for display on a wireless handheld device.
 19. Thecomputer program product of claim 14, wherein the unique identifiercomprises an extension of a phone number.
 20. The computer programproduct of claim 14, wherein the electronic form is for making areservation with a transportation service provider.